This is an R Markdown Notebook. When you execute code within the notebook, the results appear beneath the code.

Try executing this chunk by clicking the Run button within the chunk or by placing your cursor inside it and pressing Ctrl+Shift+Enter. # Tue Jun 7 19:35:18 2022 ——————————

source("tianfengRwrappers.R")

rat Frontier GSE174098

table(rat10x$orig.ident)

   1    2 
4582 1911 
ncol(subset(rat10x0, subset = Sost > 0 & Bmpr1a > 0))
[1] 2

mouse coronary GSE131778

mouse_coronary_countmatrix <- read.csv("./GSE131776_mouse_scRNAseq.txt", sep = "\t")
func <- function(s) {
  paste0(strsplit(s, ".", fixed = T)[[1]][2], "_", strsplit(s, ".", fixed = T)[[1]][1])
}
colnames(mouse_coronary_countmatrix) <- lapply(colnames(mouse_coronary_countmatrix), func) # 拆分样本
mousecor <- CreateSeuratObject(counts = mouse_coronary_countmatrix,
                                   project = "mouse_cor", min.cells = 10, min.features = 300) %>%  PercentageFeatureSet(pattern = "^mt-", col.name = "percent.mt") 

# saveRDS(mousecor,"mousecor.rds")
table(mousecor$orig.ident)
VlnPlot(mousecor,"nCount_RNA") /
VlnPlot(mousecor,"percent.mt") /
VlnPlot(mousecor, "nFeature_RNA")


mousecor <- mousecor %>% subset(subset = nFeature_RNA > 400 & nFeature_RNA < 4000 &
                              nCount_RNA > 1000 &  nCount_RNA < 30000 & percent.mt < 10) %>%
    SCTransform(vars.to.regress = "percent.mt", verbose = F) %>% 
    RunPCA() %>% FindNeighbors(dims = 1:20) %>% 
    RunUMAP(dims = 1:20) %>% 
    FindClusters(resolution = 0.1)
table(mousecor$orig.ident)

mouse carotid scRNAseq GSE155513

human bulk RNA-seq GSE120521 carotid stable/unstable FPKM

Add a new chunk by clicking the Insert Chunk button on the toolbar or by pressing Ctrl+Alt+I.

When you save the notebook, an HTML file containing the code and output will be saved alongside it (click the Preview button or press Ctrl+Shift+K to preview the HTML file).

The preview shows you a rendered HTML copy of the contents of the editor. Consequently, unlike Knit, Preview does not run any R code chunks. Instead, the output of the chunk when it was last run in the editor is displayed.

LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKVGhpcyBpcyBhbiBbUiBNYXJrZG93bl0oaHR0cDovL3JtYXJrZG93bi5yc3R1ZGlvLmNvbSkgTm90ZWJvb2suIFdoZW4geW91IGV4ZWN1dGUgY29kZSB3aXRoaW4gdGhlIG5vdGVib29rLCB0aGUgcmVzdWx0cyBhcHBlYXIgYmVuZWF0aCB0aGUgY29kZS4gCgpUcnkgZXhlY3V0aW5nIHRoaXMgY2h1bmsgYnkgY2xpY2tpbmcgdGhlICpSdW4qIGJ1dHRvbiB3aXRoaW4gdGhlIGNodW5rIG9yIGJ5IHBsYWNpbmcgeW91ciBjdXJzb3IgaW5zaWRlIGl0IGFuZCBwcmVzc2luZyAqQ3RybCtTaGlmdCtFbnRlciouIAojIFR1ZSBKdW4gIDcgMTk6MzU6MTggMjAyMiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgpgYGB7cn0Kc291cmNlKCJ0aWFuZmVuZ1J3cmFwcGVycy5SIikKYGBgCgojIyByYXQgRnJvbnRpZXIgKkdTRTE3NDA5OCoKYGBge3IgZmlnLndpZHRoPTQsIGZpZy5oZWlnaHQ9OH0KcmF0MTB4IDwtIENyZWF0ZVNldXJhdE9iamVjdChSZWFkMTBYKCIuL3JhdF9zY1JOQXNlcS8iKSwgbmFtZXMuZmllbGQgPSAyLCBuYW1lcy5kZWxpbSA9ICItIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0ID0gInJhdCIsIG1pbi5jZWxscyA9IDEwLCBtaW4uZmVhdHVyZXMgPSAzMDApICU+JQogIFBlcmNlbnRhZ2VGZWF0dXJlU2V0KHBhdHRlcm4gPSAiXk10LSIsIGNvbC5uYW1lID0gInBlcmNlbnQubXQiKSAKCnRhYmxlKHJhdDEweCRvcmlnLmlkZW50KQpWbG5QbG90KHJhdDEweCwibkNvdW50X1JOQSIpIC8KVmxuUGxvdChyYXQxMHgsInBlcmNlbnQubXQiKSAvClZsblBsb3QocmF0MTB4LCAibkZlYXR1cmVfUk5BIikKCgpyYXQxMHggPC0gcmF0MTB4ICU+JSBzdWJzZXQoc3Vic2V0ID0gbkZlYXR1cmVfUk5BID4gNDAwICYgbkZlYXR1cmVfUk5BIDwgNDAwMCAmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5Db3VudF9STkEgPiAxMDAwICYgIG5Db3VudF9STkEgPCAzMDAwMCAmIHBlcmNlbnQubXQ8IDEwKSAlPiUKICAgIFNDVHJhbnNmb3JtKHZhcnMudG8ucmVncmVzcyA9ICJwZXJjZW50Lm10IiwgdmVyYm9zZSA9IEYpICU+JSAKICAgIFJ1blBDQSgpICU+JSBGaW5kTmVpZ2hib3JzKGRpbXMgPSAxOjIwKSAlPiUgCiAgICBSdW5VTUFQKGRpbXMgPSAxOjIwKSAlPiUgCiAgICBGaW5kQ2x1c3RlcnMocmVzb2x1dGlvbiA9IDAuMSkKdGFibGUocmF0MTB4JG9yaWcuaWRlbnQpCmBgYAoKCmBgYHtyIGZpZy53aWR0aD00LCBmaWcuaGVpZ2h0PTN9CnVtYXBwbG90KHJhdDEweCkKCmYoIkJtcHIxYiIsIHJhdDEweCkgLwpmKCJCbXByMWEiLCByYXQxMHgpCnRhYmxlKHJhdDEweCRzZXVyYXRfY2x1c3RlcnMpCgpyYXQxMHgwIDwtIHN1YnNldChyYXQxMHgsaWRlbnQgPSAwKQoKZigiU29zdCIscmF0MTB4KQpuY29sKHN1YnNldChyYXQxMHgwLCBzdWJzZXQgPSBCbXByMWEgPiAwKSkKbmNvbChzdWJzZXQocmF0MTB4MCwgc3Vic2V0ID0gQm1wcjFiID4gMCkpCm5jb2woc3Vic2V0KHJhdDEweDAsIHN1YnNldCA9IEJtcHIxYSA+IDAgJiBCbXByMWIgPiAwKSkKCm5jb2woc3Vic2V0KHJhdDEweDAsIHN1YnNldCA9IFNvc3QgPiAwICYgQm1wcjFiID4gMCkpCm5jb2woc3Vic2V0KHJhdDEweDAsIHN1YnNldCA9IFNvc3QgPiAwICYgQm1wcjFhID4gMCkpCgpuY29sKHJhdDEweDApCmBgYAojIG1vdXNlIGNvcm9uYXJ5ICpHU0UxMzE3NzgqCmBgYHtyfQptb3VzZV9jb3JvbmFyeV9jb3VudG1hdHJpeCA8LSByZWFkLmNzdigiLi9HU0UxMzE3NzZfbW91c2Vfc2NSTkFzZXEudHh0Iiwgc2VwID0gIlx0IikKZnVuYyA8LSBmdW5jdGlvbihzKSB7CiAgcGFzdGUwKHN0cnNwbGl0KHMsICIuIiwgZml4ZWQgPSBUKVtbMV1dWzJdLCAiXyIsIHN0cnNwbGl0KHMsICIuIiwgZml4ZWQgPSBUKVtbMV1dWzFdKQp9CmNvbG5hbWVzKG1vdXNlX2Nvcm9uYXJ5X2NvdW50bWF0cml4KSA8LSBsYXBwbHkoY29sbmFtZXMobW91c2VfY29yb25hcnlfY291bnRtYXRyaXgpLCBmdW5jKSAjIOaLhuWIhuagt+acrApgYGAKCmBgYHtyIGZpZy53aWR0aD0gNCwgZmlnLmhlaWdodD04fQptb3VzZWNvciA8LSBDcmVhdGVTZXVyYXRPYmplY3QoY291bnRzID0gbW91c2VfY29yb25hcnlfY291bnRtYXRyaXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdCA9ICJtb3VzZV9jb3IiLCBtaW4uY2VsbHMgPSAxMCwgbWluLmZlYXR1cmVzID0gMzAwKSAlPiUgIFBlcmNlbnRhZ2VGZWF0dXJlU2V0KHBhdHRlcm4gPSAiXm10LSIsIGNvbC5uYW1lID0gInBlcmNlbnQubXQiKSAKCiMgc2F2ZVJEUyhtb3VzZWNvciwibW91c2Vjb3IucmRzIikKdGFibGUobW91c2Vjb3Ikb3JpZy5pZGVudCkKVmxuUGxvdChtb3VzZWNvciwibkNvdW50X1JOQSIpIC8KVmxuUGxvdChtb3VzZWNvciwicGVyY2VudC5tdCIpIC8KVmxuUGxvdChtb3VzZWNvciwgIm5GZWF0dXJlX1JOQSIpCgoKbW91c2Vjb3IgPC0gbW91c2Vjb3IgJT4lIHN1YnNldChzdWJzZXQgPSBuRmVhdHVyZV9STkEgPiA0MDAgJiBuRmVhdHVyZV9STkEgPCA0MDAwICYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbkNvdW50X1JOQSA+IDEwMDAgJiAgbkNvdW50X1JOQSA8IDMwMDAwICYgcGVyY2VudC5tdCA8IDEwKSAlPiUKICAgIFNDVHJhbnNmb3JtKHZhcnMudG8ucmVncmVzcyA9ICJwZXJjZW50Lm10IiwgdmVyYm9zZSA9IEYpICU+JSAKICAgIFJ1blBDQSgpICU+JSBGaW5kTmVpZ2hib3JzKGRpbXMgPSAxOjIwKSAlPiUgCiAgICBSdW5VTUFQKGRpbXMgPSAxOjIwKSAlPiUgCiAgICBGaW5kQ2x1c3RlcnMocmVzb2x1dGlvbiA9IDAuMSkKdGFibGUobW91c2Vjb3Ikb3JpZy5pZGVudCkKYGBgCgojIyBtb3VzZSBjYXJvdGlkIHNjUk5Bc2VxICpHU0UxNTU1MTMqCmBgYHtyfQoKYGBgCgoKCiMjIGh1bWFuIGJ1bGsgUk5BLXNlcSAqR1NFMTIwNTIxKiBjYXJvdGlkIHN0YWJsZS91bnN0YWJsZSBGUEtNCmBgYHtyfQpmcGttMnRwbSA8LSBmdW5jdGlvbihmcGttKXsKICBleHAobG9nKGZwa20pIC0gbG9nKHN1bShmcGttKSkgKyBsb2coMWU2KSkKfQoKZnBrbV9tYXRyaXggPC0gcmVhZC5jc3YoIkdTRTEyMDUyMV9GUEtNLmNzdiIpCiMgZnBrbV9tYXRyaXggPC0gZGlzdGluY3QoZnBrbV9tYXRyaXgpICPljrvpmaTph43lpI3ooYwKZnBrbV9tYXRyaXggPC0gZnBrbV9tYXRyaXhbIWR1cGxpY2F0ZWQoZnBrbV9tYXRyaXgkbmFtZSksXQpyb3duYW1lcyhmcGttX21hdHJpeCkgPC0gZnBrbV9tYXRyaXgkbmFtZQpmcGttX21hdHJpeCRuYW1lIDwtIE5VTEwKCnRwbV9tYXRyaXggPC0gYXBwbHkoZnBrbV9tYXRyaXgsIDIsIGZwa20ydHBtKQpjb2xTdW1zKHRwbV9tYXRyaXgpCgpncm91cF9maWxlIDwtIGMoInN0YWJsZSIsInVuc3RhYmxlIiwic3RhYmxlIiwidW5zdGFibGUiLAogICAgICAgICAgICAgICAgInN0YWJsZSIsInVuc3RhYmxlIiwic3RhYmxlIiwidW5zdGFibGUiKQpib3hwbG90KHRwbV9tYXRyaXgsIGxhcyA9IDIpCgpleHByX21hdCA8LSB0cG1fbWF0cml4WyFhcHBseSh0cG1fbWF0cml4LCAxLCBmdW5jdGlvbih4KXtzdW0oZmxvb3IoeCkgPT0gMCk+M30pLF0KCmJveHBsb3QoZXhwcl9tYXQsIGxhcyA9IDIpCgpsaWJyYXJ5KGxpbW1hKQpleHByX21hdCA8LSBub3JtYWxpemVCZXR3ZWVuQXJyYXlzKGV4cHJfbWF0KQpleHByX21hdCA8LSBsb2cyKGV4cHJfbWF0KzEpICPkvb/nlKhsb2cyIHNjYWxlCgojUENBCmxpYnJhcnkoZ2dmb3J0aWZ5KSAKZGYgPC0gYXMuZGF0YS5mcmFtZSh0KGV4cHJfbWF0KSkgCmRmJGdyb3VwIDwtIGdyb3VwX2ZpbGUgCmF1dG9wbG90KHByY29tcChkZlssMToobmNvbChkZiktMSldKSwgZGF0YT1kZiwgY29sb3VyID0gJ2dyb3VwJykrIHRoZW1lX2J3KCkgCgojIElmIHRoZSBzZXF1ZW5jaW5nIGRlcHRoIGlzIHJlYXNvbmFibHkgY29uc2lzdGVudCBhY3Jvc3MgdGhlIFJOQSBzYW1wbGVzLCB0aGVuIHRoZSBzaW1wbGVzdCBhbmQgbW9zdCByb2J1c3QgYXBwcm9hY2ggdG8gZGlmZmVyZW50aWFsIGV4aXMgdG8gdXNlIGxpbW1hLXRyZW5kLgoKZml0IDwtIGxtRml0KGV4cHJfbWF0LCBncm91cF9maWxlKQpmaXQgPC0gdHJlYXQoZml0LCBsZmM9bG9nMigxLjIpLCB0cmVuZD1UUlVFKQp0b3BUcmVhdChmaXQsIGNvZWY9bmNvbChkZXNpZ24pKQoKYGBgCgoKYGBge3J9CmxpYnJhcnkoZ2dwdWJyKQpkYXQgPC0gZXhwcl9tYXQKZGVzaWduIDwtIG1vZGVsLm1hdHJpeCh+ZmFjdG9yKGdyb3VwX2ZpbGUpKQpmaXQgPC0gbG1GaXQoZGF0LCBkZXNpZ24pCmZpdCA8LSBlQmF5ZXMoZml0KQojIG9wdGlvbnMoZGlnaXRzID0gNCkKdG9wVGFibGUoZml0LGNvZWY9MixhZGp1c3Q9J0JIJykKZGVnIDwtIHRvcFRhYmxlKGZpdCxjb2VmPTIsYWRqdXN0PSdCSCcsbnVtYmVyID0gSW5mKQpoZWFkKGRlZykgCgp3cml0ZS5jc3YoZGVnLCJzdGFibGUgdnMgdW5zdGFibGUuY3N2IikKIyMgbG9vayB1cCBGUlpCLCBTT1NULCBQUkRNNiwgT0dOCmRzMW1hcmtlcnNbZHMxbWFya2VycyRjbHVzdGVyID09ICJTTUMyIixdJGdlbmUKCmRzMm1hcmtlcnNbZHMybWFya2VycyRjbHVzdGVyID09ICJTTUMzIixdJGdlbmUKCnNtYzJtYXJrZXJzIDwtIGludGVyc2VjdChkczFtYXJrZXJzW2RzMW1hcmtlcnMkY2x1c3RlciA9PSAiU01DMiIsXSRnZW5lLCBkczJtYXJrZXJzW2RzMm1hcmtlcnMkY2x1c3RlciA9PSAiU01DMyIsXSRnZW5lKQoKCmRlZ1tpbnRlcnNlY3Qoc21jMm1hcmtlcnMsIHJvd25hbWVzKGRlZykpLF0KCgoKCmRzMW1hcmtlcnNbZHMxbWFya2VycyRjbHVzdGVyID09ICJTTUMxIixdJGdlbmUKCmRzMm1hcmtlcnNbZHMybWFya2VycyRjbHVzdGVyID09ICJTTUMxIixdJGdlbmUKClNNQzFtYXJrZXJzIDwtIGludGVyc2VjdChkczFtYXJrZXJzW2RzMW1hcmtlcnMkY2x1c3RlciA9PSAiU01DMSIsXSRnZW5lLCBkczJtYXJrZXJzW2RzMm1hcmtlcnMkY2x1c3RlciA9PSAiU01DMSIsXSRnZW5lKQoKZGVnW2ludGVyc2VjdChTTUMxbWFya2Vycywgcm93bmFtZXMoZGVnKSksXQpgYGAKCkFkZCBhIG5ldyBjaHVuayBieSBjbGlja2luZyB0aGUgKkluc2VydCBDaHVuayogYnV0dG9uIG9uIHRoZSB0b29sYmFyIG9yIGJ5IHByZXNzaW5nICpDdHJsK0FsdCtJKi4KCldoZW4geW91IHNhdmUgdGhlIG5vdGVib29rLCBhbiBIVE1MIGZpbGUgY29udGFpbmluZyB0aGUgY29kZSBhbmQgb3V0cHV0IHdpbGwgYmUgc2F2ZWQgYWxvbmdzaWRlIGl0IChjbGljayB0aGUgKlByZXZpZXcqIGJ1dHRvbiBvciBwcmVzcyAqQ3RybCtTaGlmdCtLKiB0byBwcmV2aWV3IHRoZSBIVE1MIGZpbGUpLgoKVGhlIHByZXZpZXcgc2hvd3MgeW91IGEgcmVuZGVyZWQgSFRNTCBjb3B5IG9mIHRoZSBjb250ZW50cyBvZiB0aGUgZWRpdG9yLiBDb25zZXF1ZW50bHksIHVubGlrZSAqS25pdCosICpQcmV2aWV3KiBkb2VzIG5vdCBydW4gYW55IFIgY29kZSBjaHVua3MuIEluc3RlYWQsIHRoZSBvdXRwdXQgb2YgdGhlIGNodW5rIHdoZW4gaXQgd2FzIGxhc3QgcnVuIGluIHRoZSBlZGl0b3IgaXMgZGlzcGxheWVkLgo=